/**
* All Rights Reserved , Copyright (C) 2021 , 青岛鼎信通讯股份有限公司
*
* IMpmProjectPlanService
* 项目策划
*
* 修改纪录
* 2021-01-07 版本：1.0 wudaliang 创建。
* @version 版本：1.0
* @author 作者：wudaliang
* 创建日期：2021-01-07
*/

package com.topscomm.mpm.service;

import com.topscomm.mpm.IMpmService;
import com.topscomm.mpm.pojo.MpmProjectMilepostEntity;
import com.topscomm.mpm.pojo.MpmProjectPlanEntity;
import com.topscomm.mpm.dao.IMpmProjectPlanDao;

import java.util.List;
import java.util.Map;

public interface IMpmProjectPlanService extends IMpmService<MpmProjectPlanEntity, IMpmProjectPlanDao>{
    /**
     * @author houyuhang
     * @Description 首页策划超期
     * @Date 2021/11/29
     * @return Map<String,Object>
     **/
    Map<String,Object> queryOverduePlan(Map<String,Object> paraMap);
    /**
     * @author houyuhang
     * @Description 首页信息概览策划待办
     * @Date 2021/11/29
     * @return Map<String,Object>
     **/
    Map<String,Object> queryBacklogPlan(Map<String,Object> paraMap);
    /**
     * @return void
     * @author houyuhang
     * @Description 将旧的策划书的有效性置为0，并把旧的策划书下的里程碑及任务的有效性全部置为0
     * @Date 2021/12/02
     **/
    void disableOldPlanAndMilePost(MpmProjectPlanEntity mpmOldPlan, List<MpmProjectMilepostEntity> mpmOldMilepostList,
                                          MpmProjectPlanEntity mpmNewPlan, List<MpmProjectMilepostEntity> mpmNewMilepostList);
    /**
     * @return void
     * @author houyuhang
     * @Description 策划结束脚本-修改任务中里程碑及任务名称
     * @Date 2021/12/02
     **/
    void updateTaskMilepostName(MpmProjectPlanEntity mpmNewPlan,List<MpmProjectMilepostEntity> mpmNewMilepostList);
    /**
     * @return void
     * @author houyuhang
     * @Description 如果新里程碑及任务改变了里程碑及任务责任人，需要将任务反馈和任务关闭的里程碑及任务责任人节点的办理人进行修改
     * @Date 2021/12/03
     **/
    void updateResponsibleCode(List<MpmProjectMilepostEntity> mpmOldMilepostList,List<MpmProjectMilepostEntity> mpmNewMilepostList);
    // 策划归档获取项目相关信息
    void getProjectInfo(List<Map<String, Object>> tempList);
    /**
     * @return void
     * @author houyuhang
     * @Description 策划结束脚本更新任务的里程碑及任务名称字段
     * @Date 2022/03/07
     **/
    void updateMilepostNameForTask(MpmProjectMilepostEntity mpmProjectMilepostEntity);
    }
